#ifndef _GL_POOL_BALL_H_
#define _GL_POOL_BALL_H_

#include "util.h"
#include <vector>

class Ball
{
private:
	typedef struct Pair
	{
		float X;
		float Z;
	};
	float							_Atrito_;
	GLUquadricObj*					_Quad_Sphere_;
	GLUquadricObj*					_Quad_Shadow_;
	int								_Tex_Index_;
	int								_Angle_;
	Pair							_Direction_;

	void Move();
	void Move(float PosX,float PosZ);
	void Draw(float X,float Y,float Z);

public:
	bool	_Dead_;
	float	_Pos_X_;
	float	_Pos_Y_;
	float	_Pos_Z_;
	int		_ID_;
	float 	_Radius_;
	int		_ID_Batida;

	float _Speed_;


	Ball(int ID,int Texture);
	Ball(int ID,int Texture,float PosX,float PosY, float PosZ, float Radius);
	~Ball();
	void Hit(float PosX,float PosZ,float Speed);
	void Hit(int ID_Bola_Ativa,float PosX,float PosZ,float Speed);
	void Draw();
	void DrawShadow();
	void DrawShadow(float LightX,float LightY,float LightZ);
};



#endif
